let wxMethods = {
  // 获取appid
  getAppid() {
          $.post("/api/wxContent/appId", {
              company_id
          }, function(result) {
              wxMethods.getCode(result.data.corpid);
          });
          return false;
      },
      // 获取code
      getCode(appid) {
          var host = window.location.protocol + "//" + window.location.host;
          var url = encodeURI(host + "/chat-tool/chat.html?id=" + company_id);
          var href = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appid}&redirect_uri=${url}&response_type=code&scope=snsapi_base&state=#wechat_redirect`;
          window.location.href = href;
      },

      getUrlCode() {
          // 截取url中的code方法
          var url = location.search;
          var theRequest = new Object();
          if (url.indexOf("?") != -1) {
              var str = url.substr(1);
              var strs = str.split("&");
              for (var i = 0; i < strs.length; i++) {
                  theRequest[strs[i].split("=")[0]] = strs[i].split("=")[1];
              }
          }
          return theRequest;
      },

      // 获取userID
      getmyId() {
          $.post("/api/user", {
              company_id, code
          }, function(result) {
              if (result.status) {
                  localStorage.setItem("user_id", result.data.user_id);
                  wxMethods.getGroup();
              }
          });
      },

      // 获取分组
      getGroup() {
          $.post("/api/mediaGrpLst", {
              company_id
          }, function(result) {
              if (result.status == 1) {
                  for (let i = 0; i < result.data.list.length; i++) {
                      $("#groupList").append(
                          `<option value="${result.data.list[i].group_id}">${result.data.list[i].group_name}</option>`
                      );
                  }
                  wxMethods.getContent({});
              }
          });
      },

      getContent(datas) {
          let type = $(".tabItem.active").attr("data-type"),
              data = {
                  company_id,
                  page: 1,
                      limit: 1000,
                      search: {
                          group_id: datas.group_id ? datas.group_id : "",
                          type: datas.content_type ? datas.content_type : 1,
                          keywords: datas.keywords ? datas.keywords : "",
                      },
              };
          $.post("/api/mediaLst", data, function(result) {
              if (result.status == 1) {
                  $(".list").empty();
                  if (result.data.list.length > 0) {
                      for (let i = 0; i < result.data.list.length; i++) {
                          if (type == 1) {
                              // 文本
                              $(".list").append(`<div class="w100 listItem">
                               <div class="listItemLeft">
                                   <span>${result.data.list[i].content}</span>
                               </div>
                               <div class="listItemRight">
                                   <button type="button" class="sendBtn" onclick="wxMethods.send('${JSON.stringify(
              result.data.list[i]
            ).replace(
              /"/g,
              "&quot;"
            )}');">发送</button>
                               </div>
                           </div>`);
                          } else if (type == 2) {
                              // 图片
                              $(".list").append(`<div class="w100 listItem">
                               <div class="listItemLeft">
                                   <img src="${result.data.list[i].file_url}">
                                   <span>${result.data.list[i].summary}</span>
                               </div>
                               <div class="listItemRight">
                                   <button type="button" class="sendBtn"  onclick="wxMethods.send('${JSON.stringify(
              result.data.list[i]
            ).replace(
              /"/g,
              "&quot;"
            )}');">发送</button>
                               </div>
                           </div>`);
                          } else if (type == 5) {
                              // 视频
                              $(".list").append(`<div class="w100 listItem">
                            <div class="listItemLeft">
                            <video src="${result.data.list[i].file_url}" width="120" height="120"></video>
                            <span>${result.data.list[i].title}</span>
                            </div>
                            <div class="listItemRight">
                                <button type="button" class="sendBtn"  onclick="wxMethods.send('${JSON.stringify(
              result.data.list[i]
            ).replace(/"/g, "&quot;")}');">发送</button>
                            </div>
                        </div>`);
                          } else if (type == 6) {
                              // 小程序
                              $(".list").append(`<div class="w100 listItem">
                            <div class="listItemLeft">
                                <img src="${result.data.list[i].file_url}">
                                <span>${result.data.list[i].title}</span>
                            </div>
                            <div class="listItemRight">
                                <button type="button" class="sendBtn"  onclick="wxMethods.send('${JSON.stringify(
              result.data.list[i]
            ).replace(/"/g, "&quot;")}');">发送</button>
                            </div>
                        </div>`);
                          } else if (type == 7) {
                              // 文件
                              $(".list").append(`<div class="w100 listItem">
                            <div class="listItemLeft">
                                <span>${result.data.list[i].summary}</span>
                            </div>
                            <div class="listItemRight">
                                <button type="button" class="sendBtn"  onclick="wxMethods.send('${JSON.stringify(
              result.data.list[i]
            ).replace(/"/g, "&quot;")}');">发送</button>
                            </div>
                        </div>`);
                          } else if (type == 8) {
                              // 跳转链接
                              $(".list").append(`<div class="w100 listItem">
                            <div class="listItemLeft">
                                <img src="${result.data.list[i].file_url}">
                                <span>${result.data.list[i].title}</span>
                            </div>
                            <div class="listItemRight">
                                <button type="button" class="sendBtn"  onclick="wxMethods.send('${JSON.stringify(
              result.data.list[i]
            ).replace(/"/g, "&quot;")}');">发送</button>
                            </div>
                        </div>`);
                          }
                      }
                  } else {
                      $(".list").append(`<div class="w100 listItem"><p>暂无数据</p></div>`);
                  }
              }
          });
      },
      // 发送消息前获取配置参数
      send(item) {
          $.post("/api/wxContent/jsSdkData", {
              company_id
          }, function(result) {
              if (result.status == 1) {
                  wx.config({
                      beta: true, // 必须这么写，否则wx.invoke调用形式的jsapi会有问题
                      debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
                      appId: result.data.appId, // 必填，企业微信的corpID
                      timestamp: result.data.timestamp, // 必填，生成签名的时间戳
                      nonceStr: result.data.nonceStr, // 必填，生成签名的随机串
                      signature: result.data.signature, // 必填，签名，见 附录-JS-SDK使用权限签名算法
                      jsApiList: ["sendChatMessage", "getContext", "getCurExternalContact", "getCurExternalChat"], // 必填，需要使用的JS接口列表，凡是要调用的接口都需要传进来
                  });
                  wx.ready(function() {
                      // config信息验证后会执行ready方法，所有接口调用都必须在config接口获得结果之后，config是一个客户端的异步操作，所以如果需要在页面加载时就调用相关接口，则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口，则可以直接调用，不需要放在ready函数中。
                      wxMethods.getCon(result.data.agent, JSON.parse(item));
                  });
              }
          });
      },
      //发送消息
      getCon(config, item) {
          wx.agentConfig({
              corpid: config.corpid, // 必填，企业微信的corpid，必须与当前登录的企业一致
              agentid: config.agentid, // 必填，企业微信的应用id （e.g. 1000247）
              timestamp: config.timestamp, // 必填，生成签名的时间戳
              nonceStr: config.nonceStr, // 必填，生成签名的随机串
              signature: config.signature, // 必填，签名，见附录-JS-SDK使用权限签名算法
              jsApiList: ["sendChatMessage", "getContext", "getCurExternalContact", "getCurExternalChat"], //必填
              success: function(res2) {
                  let data = {};
                  if (item.type == "1") {
                      data.msgtype = 'text', //消息类型，必填
                          data.text = {
                              content: item.content //文本内容
                          }

                      wxMethods.sengContent(data);
                  } else {
                      $.post(
                          "/api/WxContent/mediaData", {
                              company_id, wk_media_id: item.wk_media_id
                          },
                          function(datas) {
                              //获取外部联系人/群id
                              if (datas.data.content.type == "2") {
                                  data.msgtype = "image", //消息类型，必填
                                      data.image = {
                                          mediaid: datas.data.content.mediaid, //图片的素材id
                                      }
                              } else if (datas.data.content.type == '3') {
                                  data.msgtype = 'news', //消息类型，必填
                                      data.news = {
                                          link: datas.data.content.url, //H5消息页面url 必填
                                          title: datas.data.content.title, //H5消息标题
                                          desc: datas.data.content.summary, //H5消息摘要
                                          imgUrl: datas.data.content.cover //H5消息封面图片URL
                                      }
                              } else if (datas.data.content.type == "5") {
                                  data.msgtype = "video", //消息类型，必填
                                      data.video = {
                                          mediaid: datas.data.content.mediaid, //视频的素材id
                                      }
                              } else if (datas.data.content.type == "6") {
                                  data.msgtype = "miniprogram", //消息类型，必填
                                      data.miniprogram = {
                                          appid: datas.data.content.appid, //小程序的appid
                                          title: datas.data.content.title, //小程序消息的title
                                          imgUrl: datas.data.content.file_url, //小程序消息的封面图。必须带http或者https协议头，否则报错 $apiName$:fail invalid imgUrl
                                          page: datas.data.content.link, //小程序消息打开后的路径，注意要以.html作为后缀，否则在微信端打开会提示找不到页面
                                      }
                              } else if (datas.data.content.type == "7") {
                                  data.msgtype = "file", //消息类型，必填
                                      data.file = {
                                          mediaid: datas.data.content.mediaid, //文件的素材id
                                      }
                              } else if (datas.data.content.type == "8") {
                                  data.msgtype = "news", //消息类型，必填
                                      data.news = {
                                          link: datas.data.content.link, //H5消息页面url 必填
                                          title: datas.data.content.title, //H5消息标题
                                          desc: datas.data.content.summary, //H5消息摘要
                                          imgUrl: datas.data.content.file_url, //H5消息封面图片URL
                                      }
                              }
                              wxMethods.sengContent(data);

                          })
                  }

              },
          });

      },
      sengContent(data) {
          wx.invoke('getContext', {}, function(res3) {
              if (res3.err_msg == 'getContext:ok') {
                  let entry = res3.entry, //返回进入H5页面的入口类型，目前有normal、contact_profile、single_chat_tools、group_chat_tools
                      d;
                  entry == 'single_chat_tools' ? d = 'getCurExternalContact' : entry == 'group_chat_tools' ? d = 'getCurExternalChat' : d = '';
                  wx.invoke(d, {}, function(res5) {
                      console.log(res5)
                      if (res5.err_msg == `${d}:ok`) {
                          wx.invoke('sendChatMessage', data);
                      }
                  })
              } else {
                  //错误处理
              }
          });
      }
}
let code = wxMethods.getUrlCode().code,
  company_id = wxMethods.getUrlCode().id;
if (localStorage.getItem("user_id")) {
  wxMethods.getGroup();
} else {
  if (company_id && code) {
      wxMethods.getmyId();
  } else {
      wxMethods.getAppid();
  }
}

// 切换选项卡
$(document).on("click", ".tabItem", function() {
  let datas = {
      group_id: $("#groupList").val(),
      content_type: $(this).attr("data-type"),
      keyword: $("#searchKey").val(),
  };

  $(".tabItem").removeClass("active");
  $(this).addClass("active");
  wxMethods.getContent(datas);
});

// 搜索
$("#searchSend").click(function() {
  let datas = {
      group_id: $("#groupList").val(),
      type: $(".tabItem.active").attr("data-type"),
      keywords: $("#searchKey").val(),
  };
  wxMethods.getContent(datas);
});

// 切换分组
$("#groupList").change(function() {
  let datas = {
      group_id: $("#groupList").val(),
      type: $(".tabItem.active").attr("data-type"),
      keywords: $("#searchKey").val(),
  };
  wxMethods.getContent(datas);
});